namespace NTrace
{
  using System;

  public enum EventClassType
  {
    /// <summary>
    /// Informational event. This is the default event type. 
    /// </summary>
    Information = 0,
    /// <summary>
    /// Start event. Use to trace the initial state of a multi-step event. 
    /// </summary>
    Start = 1,
    /// <summary>
    /// End event. Use to trace the final state of a multi-step event. 
    /// </summary>
    End = 2,
    /// <summary>
    /// Data collection start event. 
    /// </summary>
    DataCollectionStart = 3,
    /// <summary>
    /// Data collection end event. 
    /// </summary>
    DataCollectionEnd = 4,
    /// <summary>
    /// Extension event. Use for an event that is a continuation of a previous event. For example, use the extension event type when an event trace records more data than can fit in a session buffer. 
    /// </summary>
    Extension = 5,
    /// <summary>
    /// Reply event. Use when an application that requests resources can receive multiple responses. For example, if a client application requests a URL, and the Web server reply is to send several files, each file received can be marked as a reply event. 
    /// </summary>
    Reply = 6,
    /// <summary>
    /// Dequeue event. Use when an activity is queued before it begins. Use EVENT_TRACE_TYPE_START to mark the time when a work item is queued. Use the dequeue event type to mark the time when work on the item actually begins. Use EVENT_TRACE_TYPE_END to mark the time when work on the item completes. 
    /// </summary>
    Dequeue = 7,
    /// <summary>
    /// Checkpoint event. Use for an event that is not at the start or end of an activity. 
    /// </summary>
    Checkpoint = 8,
  }
}
